package com.wg.net.annotation;

import java.lang.annotation.*;

/**
 * 拦截器执行顺序注解（用于标记拦截器的执行优先级）
 *
 * @author 少爷123
 */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface InterceptorOrder {

    /**
     * 拦截器执行顺序（值越小越优先执行）
     * <p>
     * 示例：<br>
     * - 日志拦截器: @InterceptorOrder(1)<br>
     * - 权限拦截器: @InterceptorOrder(2)<br>
     * - 限流拦截器: @InterceptorOrder(3)
     *
     * @return 执行顺序值（默认值为 {@link Integer#MAX_VALUE}，未显式指定时排在最后）
     */
    int value() default Integer.MAX_VALUE;
}
